Флаги не меняются.
Команда:
JMP target
Условие перехода:
переход осуществляется всегда.
Команда JMP всегда передает управление в место, определяемое операндом target. В отличие от команды CALL, JMP не запоминает значение IP, т.к. появление команды возврата RET не ожидается. Переход внутри сегмента может быть задан как операндом типа память, так и через 16-битный регистр. Переход во внешний сегмент может быть задан только через операнд типа память.
Операнды | Такт байты (слова) | Обращения | Байты | Пример |
short-label | 15 | - | 2 | JMP ROPE_NEAR |
near-label | 15 | - | 3 | JMP SAME_SEGMENT |
far-label | 15 | - | 5 | JMP FAR_LABEL |
пам.-указатель16 | 18 + EA | - | 2-4 | JMP SAME_SEG |
рег.-указатель16 | 11 | - | 2 | JMP BX |
пам.-указатель32 | 24 + EA | - | 2-4 | JMP NEXT_SEG |
Примечания:
Если ассемблер может определить, что в случае перехода внутри сегмента цель перехода находится в пределах 127 байтов от места расположения текущей команды, то ассемблер автоматически сгенерирует двухбайтовую команду (короткий переход); в противном случае сгенерируется трехбайтовый NEAR JMP. В целях генерации двухбайтовой команды Вы можете сделать "подсказку" ассемблеру, используя специальный оператор "short":
JMP short near_by